/* File: data_pckt.h
* Created: 30 Jul, 2009
* License: GNU GPLv3 
* Author: h0rr0rr_drag0n 
* Description: Функции, формирующие пакет с данными.
*/

/* ========================Описание формата блока данных=========================== */
/* Мы отсылаем обычную C-строку строку, оканчивающуюся символом '\0'. Поэтому формат
 * блока данных весьма прост:
 *
 *  -------------------------------------------------------------------
 *  |                                                                 |  
 *  | Последовательность ASCII символов, оканчивающаяся символом '\0' |
 *  |                                                                 |
 *  -------------------------------------------------------------------
 *
 */
/* ================================================================================ */

#ifndef _DATA_PCKT_H_
#define _DATA_PCKT_H_

/* Функция создает пакет с данными, зашифрованный открытым ключом
 * serv_pubkey, с адресом получателя == адресу отправителя пакета с
 * запросом данных.
 * Возвращает ноль если все в порядке и число != 0 еслипроизошла ошибка.
 */
int create_data_pckt(void * rcvr_addr, /* Указатель на адрес получателя пакета,
							  адрес в формате адреса получателя, описанном в
							  протоколе.
							*/
		struct sockaddr_in * host_addr, /* IP, port текущего подключения */
		RSA * serv_pubkey /* открытый ключ для шифрования блока данных */
		);

#endif /* _DATA_PCKT_H_ */

